// 时间策略相关的类型定义

// 时间控制接口
export interface TimeCtrl {
  id?: number;
  timeKey?: string;
  startTime: string;
  hour: number;
  minute: number;
  second: number;
  peakValleyType: number; // 1：尖 2：峰 3：平 4：谷
  ctrlType: number; // 2: 不充不放 3：只充不放 4:只放不充
  targetPower: number;
  socUpperLimit: number;
  socLowLimit: number;
  originalTimeKey?: string; // 编辑时保存原始 timeKey
}

// 时间策略方案接口
export interface TimeScheme {
  id: number;
  schemeName: string;
  timeCtrls: TimeCtrl[];
}

// 周策略接口
export interface WeekStrategy {
  weekDay: number; // 0-6 表示周日到周六
  schemeId: number; // 策略方案ID
}

// 分组策略接口
export interface GroupedStrategy {
  [key: number]: {
    month: number;
    day: number;
    timeSchemeSn: number | null;
    isLastDay?: boolean;
    isNew?: boolean;
  }[];
}

// 时间设置组件的属性接口
export interface TimeSettingsProps {
  readOnly?: boolean;
  currentAreaId?: number;
  onAreaChange?: (areaId: number) => void;
  strategyData?: any;
}
